package com.example.demo.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.example.demo.domain.base.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * OrderItemDO
 *
 * @author Qwen
 * @date 2025/11/22 12:30
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("order_item")
public class OrderItemDO extends BaseDO {

    /**
     * 关联的子订单ID（order_info.id）
     */
    private Long orderId;

    /**
     * 商品ID
     */
    private Long productId;

    /**
     * SKU ID
     */
    private Long skuId;

    /**
     * 商品名称（快照）
     */
    private String productName;

    /**
     * SKU规格描述（快照，如：黑色-90码）
     */
    private String skuDesc;

    /**
     * 商品主图URL（快照）
     */
    private String picUrl;

    /**
     * 购买数量
     */
    private Integer quantity;

    /**
     * 商品单价（快照，不含附加项）
     */
    private BigDecimal unitPrice;

    /**
     * 附加项总金额（快照）
     */
    private BigDecimal addonAmount;

    /**
     * 小计金额 = (unit_price + addon_amount_per_unit) * quantity
     */
    private BigDecimal totalPrice;

    /**
     * 参与的营销类型（pingtuan/kanjia/miaosha等）
     */
    private String marketingType;

    /**
     * 营销活动详情（JSON字符串）
     */
    private String marketingDesc;
}